package com.airS.task.fileMgr.service.gk;

import com.airS.task.fileMgr.common.page.Page;
import com.airS.task.fileMgr.model.gk.Permission;
import com.airS.task.fileMgr.query.gk.PermissionQuery;

import java.util.List;
import java.util.Map;

/**
 * 权限管理服务
 * Created by alan on 2017/3/14.
 */
public interface PermissionService {

    /**
     * 按实例ID查询
     * @param id
     * @return
     */
    Permission queryPermissionById(Integer id);

    /**
     * 按条件分页查询
     * @param query
     * @return
     */
    Page<Permission> queryPermissions(PermissionQuery query);

    /**
     * 所有权限
     * @return
     */
    Map<Integer, Permission> getAllPermissionToMap();

    /**
     * 所有权限
     * @return
     */
    List<Permission> getAllPermissionToList();

    /**
     * 权限新增
     * @param permission
     * @return
     */
    Integer addPermission(Permission permission);

    /**
     * 权限修改
     * @param permission
     * @return
     */
    Integer updatePermissionById(Permission permission);

    /**
     * 按实例ID物理删除
     * @param id
     * @return
     */
    Integer delPermissionById(Integer id);

    /**
     * 按实例ID物理删除
     * @param ids
     * @return
     */
    Integer delPermissionByIds(List<Integer> ids);
}
